เมื่อพบข้อผิดพลาด “InvalidClientTokenId” ใน Request ของ AWS CLI มีวิธีแก้ไขอย่างไร
ปัญหาที่เกิดขึ้น
เมื่อเราใช้ AWS CLI ทำการ Request ไปยัง API ของ AWS Service เกิด Error ตามด้านล่างนี้ขึ้น
An error occurred (InvalidClientTokenId) when calling the {API Name} operation: The security token included in the request is invalid.
ช่วยบอกสาเหตุ และ วิธีแก้ไข ของ Error InvalidClientTokenId
หน่อยครับ
วิธีแก้ปัญหา
Error InvalidClientTokenId
เกิดจากที่ aws_access_key_id
credentials file ไม่ถูกต้องครับ
ดังนั้นให้เราตรวจสอบ aws_access_key_id
ว่าถูกต้องหรือไม่ หากเจอจุดที่ไม่ถูกต้องให้ทำการแก้ไข
credentials file มีการตั้งค่า path เริ่มต้นตามนี้ครับ
・ในกรณีของ Windows: C:\Users\username\.aws\credentials
・ในกรณีของ Mac/Linux: ~/.aws/credentials
ในบางกรณีเมื่อเราตั้งค่า aws_access_key_id
ให้ถูกต้องแล้ว จำเป็นต้องลบ Cache ของ AWS CLI
หากต้องการลบ Cache จำเป็นต้องรันคำสั่งต่อไปนี้
・ในกรณีของ Windows: C:\> del /s /q %UserProfile%\.aws\cli\cache
・ในกรณีของ Mac/Linux: $ rm -r ~/.aws/cli/cache
เมื่อเราทำตามขั้นตอนด้านบนเสร็จแล้ว ให้ใช้ AWS CLI ทำการ Request อีกครั้งเพื่อตรวจสอบว่า Error ได้หายไปแล้วหรือไม่
บทความอ้างอิง
- Configuring the AWS CLI - AWS Command Line Interface (English)
- Using AWS Credentials - AWS Tools for PowerShell (English)
- Revoking IAM role temporary security credentials - AWS Identity and Access Management (English)
บทความต้นฉบับ
AWS CLI でのリクエストで InvalidClientTokenId のエラーが発生しました。解決策を教えてください。 | DevelopersIO (Japanese)